using System;
using System.Text;
using TccAg.Classes.Utils;
using System.Collections.Generic;

namespace TccAg.VO
{
    public class DisciplinaVO
    {

        #region "Variáveis"

        private int id = 0;
        private DadosDisciplinaVO dadosDisciplina;
        private SemestreVO semestre;
        private int cargahoraria = 0;
        private Util.TipoDisciplina cunho;
        private Util.Status status;
        private List<ProfessorVO> professores;  

       
        #endregion

        #region "Getters and Setters"

        public int Id
        {
            get { return id; }
            set { id= value; }
        }

        public DadosDisciplinaVO Dadosdisciplina
        {
            get { return dadosDisciplina; }
            set { dadosDisciplina = value; }
        }

        public SemestreVO Semestre
        {
            get { return semestre; }
            set { semestre = value; }
        }

        public int Cargahoraria
        {
            get { return cargahoraria; }
            set { cargahoraria = value; }
        }

        public Util.TipoDisciplina Cunho
        {
            get { return cunho; }
            set { cunho = value; }
        }

        public Util.Status Status
        {
            get { return status; }
            set { status = value; }
        }

        public List<ProfessorVO> Professores
        {
            get { return professores; }
            set { professores = value; }
        }

        public override bool Equals(object model)
        {
            DisciplinaVO disciplina;

            try
            {
                disciplina = (DisciplinaVO)model;
                return (disciplina.Id == this.Id);
            }
            catch (Exception)
            {
                return false;
            }
        }

        public override int GetHashCode()
        {
            return base.GetHashCode();
        }
        #endregion
    }
}
